package org.vehicle.service;

import java.util.List;
import java.util.Map;

import org.vehicle.entity.VehicleInfo;
import org.vehicle.service.base.BaseService;

public interface VehicleInfoService extends BaseService<VehicleInfo, Long>{
	/**
	 * 通过车牌号获取车辆信息
	 * @param vehicleLicense
	 * @return
	 */
	public VehicleInfo findVehicleInfoByVehicleLicense(String vehicleLicense);
	/**
	 * 车辆数据删除
	 * @param vehicleLicense
	 */
	public void deleteCheckPersonCountAndPerson(VehicleInfo vehicleInfo);
	/**
	 * 无设备车辆删除
	 * @param vehicleLicense
	 */
	public void deleteVehicleInfo(VehicleInfo vehicleInfo);
	/**
	 * 通过标识获取车辆信息
	 * @param vehicleLicense
	 * @return
	 */
	public VehicleInfo findVehicleInfoByCode(Map<String, Object> map);
	
	/**
	 * 通过车辆id及检查设备类型修改检查数量+1
	 * @param map
	 */
	public void updateCountById(Map<String, Object> map);
	/**
	 * 修改人数
	 * @param vehicleInfo
	 */
	public String updatePersonCount(VehicleInfo vehicleInfo,String countDeviceData,String positionJson);
	/**
	 * 查询正在行驶车辆信息列表
	 * @return
	 */
	public List<Map<String, Object>> findRunVehicleInfoList();
	/**
	 * 分页查询设备绑定车辆信息
	 * @param paramMap
	 * @return
	 */
	public Map<String, Object> getDeviceInfoPage(Map<String, Object> paramMap);
}